#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os,sys
from dict4ini import DictIni
        
import os

def getHomeFolder():
    """ return the home folder of the user (platform independant)
        return an existing folder or None
    """
    if "APPDATA" in os.environ:
        #windows NT,2k,XP,etc. fallback
        home = os.environ['APPDATA']
        if os.path.isdir(home):
            return home
    else:
        #all user-based OSes
        home = os.path.expanduser("~")
        if home!="~" and os.path.isdir(home):
            return home
        else:
            # freedesktop *nix ?
            if "XDG_CONFIG_HOME" in os.environ:
                home = os.environ['XDG_CONFIG_HOME']
                if os.path.isdir(home):
                    return home        
            else:
                #*nix fallback
                if "HOME" in os.environ:
                    home = os.environ['HOME']
                    if os.path.isdir(home):
                        return home
    return None


class FeedConf(DictIni):
    homeFolder=""   # renseigné à l'instanciation
    
    def __init__(self):
        hd = getHomeFolder()
        FeedConf.homeFolder=os.path.join(hd,".feedbox")
        
        if not os.path.isdir(FeedConf.homeFolder):
            os.mkdir(FeedConf.homeFolder)
    
        homeConf = os.path.join(FeedConf.homeFolder,"feedbox.ini")
        DictIni.__init__(self,homeConf)

    def checkConf(self):
        """ verifie que vlc est bien positionné et qu'il existe 
            sinon demande à l'utilisateur de le situer
            renvoi true : si vlc est ok
            renvoi false : si ça va pas
        """
        vlc = self.config.vlc
        if not( vlc and os.path.isfile(vlc) ):
            import easygui
            easygui.msgbox("""
                        C'est la première fois que vous lancer feedBox.
                        Veuillez selectionner votre VLC ...
                        ""","feedbox")
            vlc = easygui.fileopenbox()
            del(easygui)    # libere la mem
            if vlc:
                self.config.vlc = vlc.decode( sys.getfilesystemencoding() )
                return True
            else:
                return False
        else:
            return True

if __name__ == "__main__":
    fc=FeedConf()
    #fc["conf"].kif=12
    fc.checkConf()
    c=fc["jojo"]
    print c.has_key("kk")
    #c.kif=12
    fc.save()
    
    print fc.homeFolder